1. Field of the Invention
The present invention relates to self-testing of data packet communications devices. In particular, the invention relates to self-tests which involve testing by sending test packets similar to the manner by which the data packets are themselves sent.
2. Description of the Related Art
Communication devices need to periodically perform self-diagnostics to ensure they are operating correctly. One way of testing a communications device is to use an external data generator. The external data generator generates data to stimulate the inputs of the device, captures the signature of the device, and compares the signature with a reference signature stored in the memory of the external data generator. This method is often used to test the digital logic of a device. However, if the test needs to exercise the device in its native operating mode, then the external data generator should have some way of generating packets that conform to the protocol and standards of the communications device. In most cases this would require additional external hardware hookups and more expensive external data generators.
It is also useful for the devices to test their operation with regard to the communications medium over which they transmit and receive data. However, traditional self-tests are limited to digital testing of the device itself. There is a need to additionally self-test the analog communication capabilities of the device.
Furthermore, there is a need to perform functional testing of a device during burn-in testing. Burn-in testing is high temperature endurance testing of a device such as an integrated circuit. The device is placed in an oven and all the internal nodes of the device are made to toggle. This tests the ability of the device to endure high temperatures over long periods of time. Because the device is placed in the oven, it is difficult to access the device""s primary inputs and outputs (IOs). If the IOs cannot be accessed, the internal nodes cannot be toggled because they have no stimulus. In such a case, one partial solution is to use an external stimulus unit that is soldered onto the board containing the device. Prior to heating the board in the oven, switches on the board are flipped to continuously input data into the device. This data will make some percentage of the internal nodes toggle. However, this toggling does not provide any information about the functionality of the device because the device is not generating data packets with the data and performing self-checking on the packets.
The present invention addresses these and other problems by providing an apparatus and method of self-testing by sending test packets over the data packet communication medium.
An apparatus according to one embodiment of the present invention includes a first bit generator circuit, a first digital interface, a second digital interface, a second bit generator circuit, and a comparison circuit. The first bit generator circuit is configured to generate at least a first plurality of bits. The first digital interface is coupled to the first bit generator circuit, and is configured to convey the first plurality of bits to a data packet assembler. The second digital interface is configured to convey the first plurality of bits from a data packet disassembler. The second bit generator circuit is configured to generate at least a second plurality of bits. The comparison circuit is coupled to the second digital interface and the second bit generator circuit, and is configured to receive and compare the first plurality of bits and the second plurality of bits, and to selectively generate an error signal.
A method according to another embodiment of the present invention includes the steps of generating a first plurality of bits, conveying the first plurality of bits to a data packet assembler, conveying the first plurality of bits from a data packet disassembler, generating a second plurality of bits, comparing the first plurality of bits and the second plurality of bits, and selectively generating an error signal.
One advantage of the present invention is that a communications device that includes the invention does not need expensive external hookups or external pattern generators to test its functionality. Another advantage is that the communications device does not need a large on chip or on board memory to store a response to the test packets. A further advantage is that functional testing can be performed during burn-in testing. Yet another advantage is that it is difficult to use external stimulus/capture devices to test a communication device that uses phase-locked loops (PLLs) because of timing differences between the communications device (that outputs the data) and the external device (that outputs the test pattern). The present invention overcomes this problem by internally capturing and testing the data.
A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description and accompanying drawings which set forth illustrative embodiments in which the principles of the invention are utilized.